package com.app.web.goods.goods;

import com.app.base.BaseDao;
import com.app.web.goods.category.Category;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * Description
 * Created by 王伟
 * Date create on 18:40 2019/11/26.
 */
public interface GoodsDao extends BaseDao{

    /* 修改商品库存 */
    int goodsInventoryChange(@Param("id")int id,@Param("num")int num);

    List<Map<String,Object>> goodsList(Map map);

    /* 根据商家ID 或 医生ID查询该医生所有可做项目大类 */
    List<Category> goodsCategoryByType(@Param("id")int id,@Param("type")int type,@Param("count")int count);

    /* 查询所有有效项目集 */
    List<Map<String,Object>> goodsPromoteList();

    /* 查询项目集商品 */
    List<Map<String,Object>> goodsPromoteGoods(List<Integer> list);

    /* 查询所有有效活动 */
    List<Map<String,Object>> goodsActList();

    /* 查询活动商品 */
    List<Map<String,Object>> goodsActGoods(List<Integer> list);

    //根据多个项目ID查询项目的信息
    List<Map<String,Object>> goodsCollectionList(List<Integer> list);

    //记录用户活动预约信息
    void addActSubscribe(Map<String, Object> body);

    //获取用户活动预约信息
    Map<String, Object> userActSubscribe(@Param("uid") int uid,@Param("actId") int actId,@Param("arrival") int arrival);

    //用户到店核销
    void actArrival(@Param("uid") int uid,@Param("bossUid") int bossUid,@Param("actId") int id,@Param("shareId") int shareId);

    //获取活动邀请需要进行奖励列表
    List<Map<String, Object>> arrivalRewardList();

    //准备开始进行核销奖励打款
    int changeRewardStatus(@Param("uid") int uid,@Param("actId") int actId,@Param("oldRewardStatus") int oldRewardStatus,@Param("rewardStatus") int rewardStatus);
}
